<template>
  <div class="app-container">
    <!-- Header 区域 -->
    <cart-header></cart-header>

    <!-- 商品 Item 项组件 -->
    <cart-item v-for="item in list" :key="item.id" :item="item"></cart-item>

    <!-- Foote 区域 -->
    <cart-footer></cart-footer>
  </div>
</template>

<script>
import { mapState } from 'vuex'
import CartHeader from '@/components/cart-header.vue'
import CartFooter from '@/components/cart-footer.vue'
import CartItem from '@/components/cart-item.vue'
// 1.发请求获取数据渲染购物车   数据存在vuex中
// 2. 可以修改数据
// 3. 动态计算总价和总数量

// 渲染购物车
// 1. 从vuex里拿到list数据
// 2. 利用v-for渲染出多个cart-item组件
// 3. 父传子将数据传到cart-item中 渲染数据

export default {
  name: 'App',
  components: {
    CartHeader,
    CartFooter,
    CartItem
  },
  computed: {
    ...mapState('cart', ['list'])
  },
  created () {
    this.$store.dispatch('cart/getList')
  }
}
</script>

<style lang="less" scoped>
.app-container {
  padding: 50px 0;
  font-size: 14px;
}
</style>
